#pragma once
namespace RayTrace{
	class vector4
	{
	public:
		vector4(void);
		~vector4(void);
		vector4::vector4(float _x,float _y,float _z,float _w);
		vector4 vector4::operator /(float b) const;
		vector4 vector4::operator *(float b) const;
		vector4 vector4::operator *(const vector4 &b)const;
		vector4 vector4::operator +(const vector4 &b)const;
		vector4 vector4::operator -(const vector4 &b)const;
		friend vector4 operator *(float b,const vector4& a) ;
		vector4 vector4::Normalize();//??
		static float  vector4::Dot(const vector4 &a,const vector4 &b);
		static vector4 vector4::LimitInColorRange(const vector4 &a);
	public:
		float x,y,z,w;
	};
}